iT邦幫忙

DAY 22
0

在錯誤中學習ASP.NET MVC系列 第 22

認識Model - Model First

  • 分享至 

  • xImage
  •  

今天從建立一個基本專案開始操作如何使用Model First來開發,就是透過先定義好模型在產生資料表的方式,接下來以一個使用者可以設定多個Email作為範例說明,此篇算是快速操作給大家看,細部的觀念等後面講Database First在一併說明,今天就先稍微感受一下XD

1.建立MVC4專案

2.使用基本範本

3.在App_Data按右鍵加入資料庫,使用localDB,命名為User

4.編輯專案下的Web.config中的connectionStrings,不知道為啥用預設的連線字串後面在產生資料庫會有問題,所以請手動修改如下:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=User;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\User.mdf" providerName="System.Data.SqlClient" />

[](http://2.bp.blogspot.com/-SmfQIPYpstw/VEcXjGrNbdI/AAAAAAAAAq4/zUS5SML-KtM/s1600/22-30.png" style="line-height: 1.6;)

5.在Model資料夾案右鍵,加入ADO.NET實體資料模型

6.選擇空的模型,並命名為UserModel

7.建立完成會自動開啟UserModel.edmx,在方案總管中UserModel.edmx下會產生一堆檔案,之後會再針對edmx特別說明,有興趣的可以先點開看一下,今天就先不管細節。開始透過工具建立模型,可以透過左邊的工具箱視窗拖曳控制項進來,或按右鍵。建立一個實體,其實就是一個Table的意思

8.實體集的名稱就是Table名稱

9.建立實體屬性,就是新增資料表欄位的意思

10.接著建立Email實體,點選實體屬性可以從屬性視窗中去修改型別,也就是欄位的資料型態

11.按右鍵建立關聯,一個使用者對應多的Email

12.設定一對多的關係

13.完成關聯設定後,Email會多一個UserID欄位以及User的導覽屬性,User也會多一個Email的導覽屬性。接下來完成模型設定了,就來產生資料庫囉,按右鍵選擇「由模型產生資料庫」

14.設定連線字串

15.設定完成會開啟.sql檔案,按左上方的「執行」按鈕,畫面下方會顯示執行結果,可能會要求登入sql server, 請在登入畫面"伺服器名稱"打"(LocalDb)\v11.0"然後登入,如果有錯誤也會顯示原因

16.點兩下App_Data下的User.mdf就可以看到伺服器總管,展開資料表後就可以看到剛剛設定好的模型已經被建成資料表囉!

  1. 有了Model之後,我們來建立Contorller來試試看CURD(新增、更新、讀取與刪除)的效果

18.我們可以透過Scaffold,快速產生CURD,請選擇我們剛剛建立的User類別,以及連線

  1. UserController已經包含CURD的程式碼,連檢視都一起產生好了

  2. 瀏覽User/Create,就可以直接新增資料了

  1. 再來建立EmailController

  2. 執行Email/Create,發現User欄位的下拉式選單竟然可以直接顯示目前的User列表,Scaffold真的太強了,不過當然也是因為我們剛剛有設定關聯XD

透過22個步驟就能快速開發好設定使用者的Email功能了,完全沒用到SQL Server Management Studio也完全沒寫到code,要是沒有透過Scaffold,應該要會寫很久,有空也可以去參考一下Scaffold產生的code與檢視的內容喔!未來有機會會在針對Scaffold做說明

下載今日專案: https://github.com/juben-wang/MvcApplication22


上一篇
認識Model - Code First
下一篇
認識Model - Database First 與 .edmx檔
系列文
在錯誤中學習ASP.NET MVC30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言